Войти
  • 1583Просмотров
  • 7 месяцев назадОпубликованоMPAGS - High Performance Computing in Julia

17. Getting started with GPU computing [HPC in Julia]

In this video, we introduce Graphics Processing Units (GPUs) and their architecture and demonstrate how to make use of their parallel capabilities through array-based programming models in Julia. Originally developed for rendering graphics, GPUs have become widely used across scientific computing, machine learning, and data analysis thanks to their ability to efficiently handle large-scale, highly parallel tasks. For certain types of problems, GPUs can deliver significant performance improvements compared to CPUs, even with consumer-grade hardware. We’ll start by discussing how GPU hardware differs from traditional CPUs, focusing on their architecture and execution model. Then, we'll show how you can use Julia to easily leverage GPU acceleration for array-based numerical computations, using the package and related tools. This module was designed as an MPAGS (Midlands Physics Alliance Graduate School) module and aimed at postgraduates and early career researchers. Resources: 🔗 Example code for this video: [ ]( ) Timecodes: 00:00:00 Introduction 00:01:12 GPU Architecture 00:05:04 GPU Performance Specs 00:05:59 GPU Platforms 00:07:13 JuliaGPU ecosystem 00:08:50 quickstart 00:10:02 Broadcasting (vector addition) 00:16:01 Performance Comparison (Matrix Multiplication) 00:20:13 Native Julia on the GPU 00:22:55 Kernel Fusion 00:24:41 Monte-Carlo Pi Estimation 00:27:42 Restrictions with GPU arrays 00:33:18 Summary Useful links: Git/GitHub for Researchers: Course Information Website: Julia Documentation: MPAGS Registration: Course Notes: